package ooday04;
/*静态方法*/
public class StaticMethod {
    int a;//实例变量(对象来访问）-----------------------属于对象的
    static int b;//静态变量（类名来访问）---------------属于类的
    //静态方法何时用：方法的操作与对象无关（不需要访问对象的属性/行为）
    //在say（）中需要访问变量a，所以认为say的操作与对向有关，不适合设计为静态方法
        void say(){
            System.out.println(a);
        }
        //在plus（）中不需要访问对象的属性/行为，所以认为plus的操作与对象无关，可以设计为静态方法
       static int plus(int num1,int num2){
            int num=num1+num1;
            return num;
        }
    void show(){//有隐式this，默认有对象this
        System.out.println(this.a);//
        System.out.println(this.b);
    }
    static void test(){//静态方法没有隐式this
        //静态方法中没有隐式this传递
        //没有this意味着没有对象
        //实例变量a只能通过对象才能访问
        //所以下方编译错误
        //System.out.println(a);//编译错误，静态方法中不能直接访问实例成员
        System.out.println(StaticMethod.b);//静态变量通过类名点来传递
    }
}
